|
|
And how about this for a Dahlia?
I've removed the option to use a real parametric isosurface because it
was taking too long to render - it now requires Ingo Janssen's
param.inc.
//Dahlia
#version 3.5;
#declare W=4; // Winding number
#declare A=9.4; // Number of petals per wind
#declare B=2*A; // Ripple frequency
#declare C=B*2; // Ripple strength (inverse)
#declare Noise = 0.3; // Amount of noise
#declare WW = 2*pi*W;
#declare Q=WW*1.5;
global_settings {assumed_gamma 1.0}
camera {location <0,0,-10> look_at <0,0,0> angle 40}
background {rgb 1}
light_source {<-10, 10, -30> color rgb 1}
#include "functions.inc"
#declare Radius = function(Theta) {2 + sin(A*(Theta-pi/2))/2}
#declare AngleShift = function(Theta) {sin(B*(Theta-pi/2))/C}
#declare Fx = function(u,v) {Radius(u) *
cos(u + AngleShift(u)) * v *(1-u/Q)}
#declare Fy = function(u,v) {Radius(u) *
sin(u + AngleShift(u)) * v *(1-u/Q)}
#declare Fz = function(u,v) {2 - Radius(u)
+ f_noise3d(u*10,v*5,0)*Noise - u/WW}
#include "param.inc"
#if (Noise = 0)
#declare U=500*W;
#declare V=1;
#else
#declare U=200*W;
#declare V=20;
#end
object {
Parametric(Fx,Fy,Fz,<0,0>,<WW,1>,U,V,"")
pigment {onion
colour_map {
[0.5 rgb <1,1,0>]
[0.8 rgb <1,0,0>]
}
scale <2.5,2.5,2>
}
finish {phong 0.5 phong_size 10}
}
Post a reply to this message
|
|